package com.softeem.work;

import java.io.File;
import java.util.Scanner;

/**
 * 2.从键盘接收一个文件夹路径,统计该文件夹大小。
 */
public class T2 {
    //定义一个全局的变量用来存储累加的文件的大小
    static long sum = 0;
    public static void  fun(File file){
        //这里的文件夹判断主要是为了获取到文件夹的递归,找到文件夹中的文件
        if(file.isDirectory()){
            //是一个文件夹,就将里面所有的文件对象取出
            File[] fs = file.listFiles();
            //对文件夹返回的文件数组对象进行遍历
            for(File f : fs){
                //完成递归
                fun(f);
            }
        }else{
            //不是一个文件夹,就直接累加大小
            sum += file.length();
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入文件路径:");
        String path = sc.next();
        //定义一个文件对象
        File dir = new File(path);
        //判断文件夹是否存在并且判断是否是一个文件夹
        if(dir.exists() && dir.isDirectory()){
            fun(dir);
            System.out.println("文件夹的大小是:" + sum + "字节");
        }else{
            System.out.println("当前你输入的路径不存在");
        }
    }
}
